/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ucab.desarrollo.viajesbook.persistencia;

import java.util.List;
import ucab.desarrollo.viajesbook.beans.Usuario;

/**
 *
 * @author isak
 */
public interface IUsuarioDAO  {

    /**
     * actualiza un usuario
     * @param usuario
     */
    void actualizar(Usuario usuario);

    /**
     * elimina un usuario
     * @param usuario
     */
    void borrar(Usuario usuario);

    /**
     * elimina un usuario por id
     * @param id
     */
    void borrarPorId(Integer id);

    /**
     * devuelve un usuario
     * @param usuario
     */
    Usuario buscar(Usuario usuario);


    /**
     * buscar por Id
     * @param id
     * @return
     */
    public Usuario buscarById(int id);
    /**
     * Metodo que busca un usuario por correo en la BD
     * @param usuario
     * @return
     */
    Usuario buscarPorCorreo(Usuario usuario);

    /**
     * realiza la busqueda de un usuario por su login y password
     *
     * @param usuario
     * @return usuario
     */
    Usuario buscarPorNombre(Usuario usuario);

    /**
     * devuelve la lista de usuarios de la Red Social
     * @return
     */
    List<Usuario> obtenerLista();


    /**
     * devuelve la lista de amigos por nombre y apellido
     * @return
     */
     List<Usuario> obtenerListaAmigosNomApe(Usuario usuario);

      /**
     * devuelve la lista de amigos por nombre
     * @return
     */
     List<Usuario> obtenerListaAmigosNom(Usuario usuario);



     /**
     * metodo que crea un usuario
     * @param usuario
     */
    void salvar(Usuario usuario);

  

}
